const moment = require('moment');

module.exports = {
  /**
     * 参数校验空(null)
     * @param {*} data 
     */
  async paramCheck(data) {
    console.info("Method=util.paramCheck()");
    let res = {};
    for (let key in data) {
      if (data[key] == null || data[key].length <= 0) {
        res.code = -1
        res.meg = key + '-是必须的';
        res.status = 0;
        return res;
      }
    }
  },

  /**
   * 获取n天后的开始时间
   */
  async getTimeByDay(days) {
    let date = new Date();
    if (days == 0) {
      date.setHours(date.getHours() + 8);
      let current_time = moment(date).format('YYYY-MM-DD') + ' 00:00:00';
      return current_time;
    } else {
      date.setHours(date.getHours() + 8);
      date.setTime(date.getTime() + (24 * 60 * 60 * 1000) * days);
      let current_time = moment(date).format('YYYY-MM-DD') + ' 00:00:00';
      return current_time;
    }
  },

  /**
   * 获取当前北京时间 含时分秒
   * 格式: YYYY-MM-DD HH:mm:ss
   */
  async getNowTime() {
    console.info("Method=util.getNowTime()");
    let date = new Date();
    date.setHours(date.getHours() + 8);
    let current_time = moment(date).format('YYYY-MM-DD HH:mm:ss');
    return current_time;
  },

  /**
   * 获取当前北京时间
   * 格式: YYYY-MM-DD
   */
  async getNowDate() {
    console.info("Method=util.getNowDate()");
    let date = new Date();
    date.setHours(date.getHours() + 8);
    let current_time = moment(date).format('YYYY-MM-DD');
    return current_time;
  },

  /**
   * 格式化时间
   * 格式: YYYY-MM-DD
   */
  async getFormatDate(time) {
    console.info("Method=util.getNowDate()");
    let current_time = moment(time).format('YYYY-MM-DD');
    return current_time;
  },

  /**
   * 获取随机数
   * @param {*} n 随机数间的最小值
   * @param {*} m 取数范围
   */
  async getRandom(n, m) {
    return Math.floor(Math.random() * (m - n + 1) + n);
  },

}